In order to accomplish computer system performance tuning, it is important to be able to characterize various aspects of the computer system's behavior. One such aspect is queue utilization and behavior. A queue is a temporary storage space for instructions or data. Queues may be located throughout a computer system and are typically included in processors and chipset devices.
Counters have been used in prior systems to collect data from physically inaccessible queues. The type of information that can be gathered by counters alone is limited to simple average metrics, such as throughput. Another measurement that can be made is the percentage of time that the queue is full. The amount of computer system performance tuning that can be performed with these simple metrics is limited. Therefore, an ability to collect more meaningful and useful data from queues is desirable.